package com.itfenghuang.day02;



public class A03_Polymorphism上 {
    public static void main(String[] args) {
        /**
         * Polymorphism
         * 1.概述
         *      同一个对象,在不同的时刻表现出了不同的形态
         *          比如: 猫   11:34:10  说是猫  一秒后  说是动物
         * 2.多态的前提条件
         *      两个类要有继承关系
         *      要有方法重写
         *      父类引用指向子类对象   Aniaml aniaml = new Cat();
         *3.多态中,成员访问特点:
         *      成员变量:
         *              不具备多态性
         *              java分为编译(javac)和运行阶段(java)
         *              口诀:编译看左边,运行看右边
         *
         *      成员方法:
         *              具备多态性
         *              口诀:编译看左边,运行看右边
         *4.多态的作用
         *      提高程序的扩展性
         *      不能够使用子类中特有的方法
         *
         */

//        创建对象
        Cat cat = new Cat();
        cat.catchMouse();
        Aniaml aniaml = new Cat();
        aniaml.eat();

        System.out.println(aniaml.num);

    }
}
class Aniaml{
    public int num=10;

    public void eat(){
        System.out.println("吃吃吃");
    }
}
class Cat extends Aniaml{
    public int num=20;

    public void eat(){
        System.out.println("恰饭");
    }
    public void catchMouse(){
        System.out.println("抓鼠鼠");
    }
}
